<html>
<head>
<link rel="stylesheet" href="../assets/javascripts/combine/combine.css">
<script src="../assets/javascripts/combine/combine.js"></script>
<!--
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['controls', 'charteditor']}]}"></script>
<script src="http://jquery-csv.googlecode.com/git/src/jquery.csv.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
-->
<script>
$(function() {
  google.load("visualization", "1", {packages:["corechart"]});

  var csv = $('#textInput').val();
  var dt = google.visualization.arrayToDataTable($.csv.toArrays(csv, {onParseValue: $.csv.hooks.castToScalar}));

  function sortCaseInsensitive(dt, column) {
    for (var row = 0; row < dt.getNumberOfRows(); row++) {
      var s = dt.getValue(row, column);
      dt.setValue(row, column, s.toUpperCase());
      dt.setFormattedValue(row, column, s);
    }
    dt.sort(column);
  }

  function AddToOverall(dt) {
    if (overallDt == null) {
      overallDt = dt.clone();
    }
    else {
      var col1 = [];
      for (var i = 1; i < overallDt.getNumberOfColumns(); i++)
        col1.push(i);
      overallDt = google.visualization.data.join(overallDt, dt, 'full', [[0, 0]], col1, [1]);
    }

    var newCol = overallDt.getNumberOfColumns() - 1;
    overallDt.setColumnLabel(newCol, type + ' ' + overallDt.getColumnLabel(newCol))
    var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
    formatter1.format(overallDt, newCol);

    for (var row = 0; row < overallDt.getNumberOfRows(); row++) {
      if (overallDt.getValue(row, newCol) == null) {
        overallDt.setValue(row, newCol, Number.POSITIVE_INFINITY);
        overallDt.setFormattedValue(row, newCol, "");
      }
    }
  }

  function createSortEvent(type, dt, chart) {
    return function(e) {
      if (e.column == 0 || e.column == 1) {
        var t = dt.clone();
        drawBarChart(type, t, chart, [{column: e.column, desc: !e.ascending }]);
      }
    }
  }

  addSection("0. Overall");

  var overallDiv = document.createElement("div");
  overallDiv.className = "tablechart";
  $("#main").append(overallDiv);

  // Per type sections
  var types = dt.getDistinctValues(0);
  var overallDt;
  for (var i in types) {
    var type = types[i];
    addSection(type);

    var view = new google.visualization.DataView(dt);
    view.setRows(view.getFilteredRows([{column: 0, value: type}]));

    if (type.search("Code size") != -1) {
      var sizedt = google.visualization.data.group(
        view,
        [1], 
        [{"column": 7, "aggregation": google.visualization.data.sum, 'type': 'number' }]
      );
      AddToOverall(sizedt);
      sortCaseInsensitive(sizedt, 0);
      addSubsection(sizedt.getColumnLabel(1));
      var sizeTable = drawTable(type, sizedt.clone(), false);
      var sizeChart = drawBarChart(type, sizedt.clone());
      google.visualization.events.addListener(sizeTable, 'sort', createSortEvent(type, sizedt, sizeChart));
    }
    else {
      addSubsection("Time");

      var timedt = google.visualization.data.group(
        view,
        [1], 
        [{"column": 3, "aggregation": google.visualization.data.sum, 'type': 'number' }]
      );

      AddToOverall(timedt);
      sortCaseInsensitive(timedt, 0);
      var timeTable = drawTable(type, timedt.clone(), true);
      var timeChart = drawBarChart(type, timedt.clone());
      google.visualization.events.addListener(timeTable, 'sort', createSortEvent(type, timedt, timeChart));

      // Per JSON
      drawPivotBarChart(
        type + " per JSON",
        pivotTable(google.visualization.data.group(
          view,
          [2, 1],
          [{"column": 3, "aggregation": google.visualization.data.sum, 'type': 'number' }]
        )),
        dt.getColumnLabel(3)
      );

      // Only show memory of Parse
      if (type.search("Parse") != -1) {
        for (var column = 4; column <= 6; column++) {
          var memorydt = google.visualization.data.group(
            view,
            [1], 
            [{"column": column, "aggregation": google.visualization.data.sum, 'type': 'number' }]
          );
          AddToOverall(memorydt);
          sortCaseInsensitive(memorydt, 0);
          addSubsection(memorydt.getColumnLabel(1));
          var memoryTable = drawTable(type, memorydt.clone(), false);
          var memoryChart = drawBarChart(type, memorydt.clone());

          google.visualization.events.addListener(memoryTable, 'sort', createSortEvent(type, memorydt, memoryChart));
        }
      }
    }
  }

  var overallTable = new google.visualization.Table(overallDiv);
  sortCaseInsensitive(overallDt, 0);
  overallTable.draw(overallDt);

  $(".chart").each(function() {
    var chart = $(this);
    var d = $("#downloadDD").clone().css("display", "");
    $('li a', d).each(function() {
          $(this).click(function() {
              var svg = chart[0].getElementsByTagName('svg')[0].parentNode.innerHTML;
              svg=sanitize(svg);
              $('#imageFilename').val($("#title").html() + "_" + chart.data("filename"));
              $('#imageGetFormTYPE').val($(this).attr('dltype'));
              $('#imageGetFormSVG').val(svg);
              $('#imageGetForm').submit();
          });
      });   
    $(this).after(d);
  });

  // Add configurations
  var thisConfig = "performance_Corei7-6820HQ@2.70GHz_mac64_clang9.0";
  var configurations = ["conformance","performance_Corei7-6820HQ@2.70GHz_mac64_clang9.0"];

  for (var i in configurations) {
    var c = configurations[i];
    $("#benchmark").append($("<li>", {class : (c == thisConfig ? "active" : "")}).append($("<a>", {href: c + ".html"}).append(c)));
  }
});

function pivotTable(src) {
  var dst = new google.visualization.DataTable();
  
  // Add columns
  var key = src.getDistinctValues(1);
  var keyColumnMap = {};
  dst.addColumn(src.getColumnType(0), src.getColumnLabel(0));  
  for (var k in key)
    keyColumnMap[key[k]] = dst.addColumn(src.getColumnType(2), key[k]);

  // Add rows
  var pivot = src.getDistinctValues(0);
  var pivotRowMap = {};  
  for (var p in pivot)
    dst.setValue(pivotRowMap[[pivot[p]]] = dst.addRow(), 0, pivot[p]);

  // Fill cells
  for (var row = 0; row < src.getNumberOfRows(); row++)
    dst.setValue(
      pivotRowMap[src.getValue(row, 0)],
      keyColumnMap[src.getValue(row, 1)],
      src.getValue(row, 2));

  return dst;
}

function addSection(name) {
  $("#main").append(
    $("<a>", {"name": name}),
    $("<h2>", {style: "padding-top: 70px; margin-top: -70px;"}).append(name)
  );
  $("#section").append($("<li>").append($("<a>", {href: "#" + name}).append(name)));
}

function addSubsection(name) {
  $("#main").append(
    $("<h3>", {style: "padding-top: 70px; margin-top: -70px;"}).append(name)
  );
}

function drawTable(type, data, isSpeedup) {
  if (isSpeedup)
    data.addColumn('number', 'Speedup');
  else
    data.addColumn('number', 'Ratio');
  //data.sort([{ column: 1, desc: true }]);
  var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
  formatter1.format(data, 1);

  var div = document.createElement("div");
  div.className = "tablechart";
  $("#main").append(div);
    var table = new google.visualization.Table(div);
    redrawTable(0);
    table.setSelection([{ row: 0, column: null}]);

  function redrawTable(selectedRow) {
      var s = table.getSortInfo();
      // Compute relative time using the first row as basis
      var basis = data.getValue(selectedRow, 1);
      for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++)
        data.setValue(rowIndex, 2, isSpeedup ? basis / data.getValue(rowIndex, 1) : data.getValue(rowIndex, 1) / basis);

      var formatter = new google.visualization.NumberFormat({suffix: 'x'});
      formatter.format(data, 2); // Apply formatter to second column

      table.draw(data, s != null ? {sortColumn: s.column, sortAscending: s.ascending} : null);
  }

  google.visualization.events.addListener(table, 'select',
  function() {
      var selection = table.getSelection();
      if (selection.length > 0) {
          var item = selection[0];
          if (item.row != null)
              redrawTable(item.row);
      }
  });

  return table;
}

function drawBarChart(type, data, chart, sortOptions) {
  // Using same colors as in series
  var colors = ["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac","#b77322","#16d620","#b91383","#f4359e","#9c5935","#a9c413","#2a778d","#668d1c","#bea413","#0c5922","#743411","#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac","#b77322","#16d620","#b91383","#f4359e","#9c5935","#a9c413","#2a778d","#668d1c","#bea413","#0c5922","#743411"];
  var h = data.getNumberOfRows() * 12;
  var options = { 
    title: type,
    chartArea: {left: '20%', width: '70%', height: h },
    width: 800,
    height: h + 100,
    fontSize: 10,
    bar: {groupWidth: "80%"},
    hAxis: { title: data.getColumnLabel(1) },
    legend: { position: "none" },
  };

  data.addColumn({ type: "string", role: "style" });
  data.addColumn({ type: "number", role: "annotation" });
  for (var rowIndex = 0; rowIndex < data.getNumberOfRows(); rowIndex++) {
    data.setValue(rowIndex, 2, colors[rowIndex]);
    data.setValue(rowIndex, 3, data.getValue(rowIndex, 1));
  }

  if (sortOptions != null)
    data.sort(sortOptions); // sort after assigning colors

  var formatter1 = new google.visualization.NumberFormat({ fractionDigits: 0 });
  formatter1.format(data, 3);

  if (chart == null) {
    var div = document.createElement("div");
    div.className = "chart";
    $(div).data("filename", type + "_" + data.getColumnLabel(1));
    $("#main").append(div);
    chart = new google.visualization.BarChart(div);
  }

  chart.draw(data, options);
  return chart;
}


function drawPivotBarChart(type, data, title) {
  var h = (data.getNumberOfColumns() + 1) * data.getNumberOfRows() * 5;
  var options = { 
    title: type,
    chartArea: {left: '10%', width: '70%', 'height': h},
    width: 800,
    height: h + 100,
    fontSize: 10,
    hAxis: { "title": title },
    legend: { textStyle: {fontSize: 8}},
    bar : { groupWidth: "95%" }
  };
  var div = document.createElement("div");
  div.className = "chart";
  $(div).data("filename", type + "_" + title);
  $("#main").append(div);
  var chart = new google.visualization.BarChart(div);

  chart.draw(data, options);
}

// http://jsfiddle.net/P6XXM/
function sanitize(svg) {
    svg = svg
        .replace(/\<svg/,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1"')
        .replace(/zIndex="[^"]+"/g, '')
        .replace(/isShadow="[^"]+"/g, '')
        .replace(/symbolName="[^"]+"/g, '')
        .replace(/jQuery[0-9]+="[^"]+"/g, '')
        .replace(/isTracker="[^"]+"/g, '')
        .replace(/url\([^#]+#/g, 'url(#')
        .replace('<svg xmlns:xlink="http://www.w3.org/1999/xlink" ', '<svg ')
        .replace(/ href=/g, ' xlink:href=')
    /*.replace(/preserveAspectRatio="none">/g, 'preserveAspectRatio="none"/>')*/
    /* This fails in IE < 8
    .replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight
    return s2 +'.'+ s3[0];
    })*/

    // IE specific
        .replace(/id=([^" >]+)/g, 'id="$1"')
        .replace(/class=([^" ]+)/g, 'class="$1"')
        .replace(/ transform /g, ' ')
        .replace(/:(path|rect)/g, '$1')
        .replace(/<img ([^>]*)>/gi, '<image $1 />')
        .replace(/<\/image>/g, '') // remove closing tags for images as they'll never have any content
        .replace(/<image ([^>]*)([^\/])>/gi, '<image $1$2 />') // closes image tags for firefox
        .replace(/width=(\d+)/g, 'width="$1"')
        .replace(/height=(\d+)/g, 'height="$1"')
        .replace(/hc-svg-href="/g, 'xlink:href="')
        .replace(/style="([^"]+)"/g, function (s) {
            return s.toLowerCase();
        });

    // IE9 beta bugs with innerHTML. Test again with final IE9.
    svg = svg.replace(/(url\(#highcharts-[0-9]+)&quot;/g, '$1')
        .replace(/&quot;/g, "'");
    if (svg.match(/ xmlns="/g).length == 2) {
        svg = svg.replace(/xmlns="[^"]+"/, '');
    }

    return svg;
}
</script>
<style type="text/css">
@media (min-width: 800px) {
/*  .container {
    max-width: 800px;
  }*/
}
textarea {
  font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
.tablechart {
/*  width: 500px;
*/  margin: auto;
  padding-top: 20px;
  padding-bottom: 20px;
}
.chart {
  padding-top: 20px;
  padding-bottom: 20px;
}
body { padding-top: 70px; }
</style>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="https://github.com/miloyip/nativejson-benchmark"><span class="glyphicon glyphicon-home"></span> nativejson-benchmark</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Benchmark <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" id="benchmark">
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Section <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" id="section">
          </ul>
        </li>
      </ul>
      <p class="navbar-text navbar-right">Developed by <a href="https://github.com/miloyip" class="navbar-link">Milo Yip</a></p>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
<div class="page-header">
<h1 id="title">performance_Corei7-6820HQ@2.70GHz_mac64_clang9.0</h1>
</div>
<div id="main"></div>
<h2>Source CSV</h2>
<textarea id="textInput" class="form-control" rows="5" readonly>
Type,Library,Filename,Time (ms),Memory (byte),MemoryPeak (byte),AllocCount,FileSize (byte)
1. Parse,ArduinoJson (C++),canada.json,618.536000,11320704,11320704,17,0
1. Parse,ArduinoJson (C++),citm_catalog.json,2.399000,4869504,4869504,15,0
1. Parse,ArduinoJson (C++),twitter.json,2.074000,1715584,1715584,13,0
2. Stringify,ArduinoJson (C++),canada.json,59.555000,2252832,5398560,19,0
2. Stringify,ArduinoJson (C++),citm_catalog.json,11.880000,524320,1568800,17,0
2. Stringify,ArduinoJson (C++),twitter.json,10.699000,524320,1568800,17,0
3. Prettify,ArduinoJson (C++),canada.json,145.175000,5599264,14606368,20,0
3. Prettify,ArduinoJson (C++),citm_catalog.json,31.197000,2252832,3825696,18,0
3. Prettify,ArduinoJson (C++),twitter.json,17.890000,1052704,2097184,17,0
4. Statistics,ArduinoJson (C++),canada.json,46.319000,0,0,0,0
4. Statistics,ArduinoJson (C++),citm_catalog.json,0.925000,0,0,0,0
4. Statistics,ArduinoJson (C++),twitter.json,0.534000,0,0,0,0
7. Code size,ArduinoJson (C++),jsonstat,0,0,0,0,23080
1. Parse,ccan/json (C),canada.json,52.740000,10699872,10699872,167193,0
1. Parse,ccan/json (C),citm_catalog.json,6.937000,3337056,3337056,68345,0
1. Parse,ccan/json (C),twitter.json,4.682000,1800400,1800400,43523,0
2. Stringify,ccan/json (C),canada.json,65.015000,2101264,2101264,19,0
2. Stringify,ccan/json (C),citm_catalog.json,4.821000,528400,528400,17,0
2. Stringify,ccan/json (C),twitter.json,1.944000,528400,528400,17,0
3. Prettify,ccan/json (C),canada.json,84.528000,9007120,9007120,21,0
3. Prettify,ccan/json (C),citm_catalog.json,8.776000,2101264,2101264,19,0
3. Prettify,ccan/json (C),twitter.json,3.111000,1052688,1052688,18,0
4. Statistics,ccan/json (C),canada.json,0.718000,0,0,0,0
4. Statistics,ccan/json (C),citm_catalog.json,0.223000,0,0,0,0
4. Statistics,ccan/json (C),twitter.json,0.129000,0,0,0,0
7. Code size,ccan/json (C),jsonstat,0,0,0,0,31028
1. Parse,cJSON (C),canada.json,55.773000,10699680,10699680,167192,0
1. Parse,cJSON (C),citm_catalog.json,6.803000,2869872,2869872,64383,0
1. Parse,cJSON (C),twitter.json,3.445000,1424800,1424800,32014,0
2. Stringify,cJSON (C),canada.json,143.348000,4202512,4202512,12,0
2. Stringify,cJSON (C),citm_catalog.json,7.760000,528400,528400,9,0
2. Stringify,cJSON (C),twitter.json,2.258000,532496,532496,9,0
3. Prettify,cJSON (C),canada.json,145.916000,4210704,4210704,12,0
3. Prettify,cJSON (C),citm_catalog.json,8.388000,1052688,1052688,10,0
3. Prettify,cJSON (C),twitter.json,2.549000,1060880,1060880,10,0
4. Statistics,cJSON (C),canada.json,1.402000,0,0,0,0
4. Statistics,cJSON (C),citm_catalog.json,0.331000,0,0,0,0
4. Statistics,cJSON (C),twitter.json,0.186000,0,0,0,0
7. Code size,cJSON (C),jsonstat,0,0,0,0,33460
1. Parse,Configuru (C++11),canada.json,63.886000,12743744,12802928,170253,0
1. Parse,Configuru (C++11),citm_catalog.json,18.379000,4899360,4899456,54236,0
1. Parse,Configuru (C++11),twitter.json,6.702000,2119216,2119312,20388,0
2. Stringify,Configuru (C++11),canada.json,157.750000,5599264,7172192,22,0
2. Stringify,Configuru (C++11),citm_catalog.json,4.997000,786464,1179888,10951,0
2. Stringify,Configuru (C++11),twitter.json,1.933000,786464,1180400,1280,0
3. Prettify,Configuru (C++11),canada.json,162.613000,5599264,7172192,22,0
3. Prettify,Configuru (C++11),citm_catalog.json,9.308000,1572896,2359536,10952,0
3. Prettify,Configuru (C++11),twitter.json,3.839000,786464,1180400,1280,0
4. Statistics,Configuru (C++11),canada.json,0.898000,0,0,0,0
4. Statistics,Configuru (C++11),citm_catalog.json,0.361000,0,0,0,0
4. Statistics,Configuru (C++11),twitter.json,0.146000,0,0,0,0
7. Code size,Configuru (C++11),jsonstat,0,0,0,0,132952
1. Parse,facil.io (C),canada.json,55.550000,6972608,6972864,224819,0
1. Parse,facil.io (C),citm_catalog.json,9.659000,5619248,5619504,84022,0
1. Parse,facil.io (C),twitter.json,4.309000,2943056,2943312,28832,0
2. Stringify,facil.io (C),canada.json,32.656000,1572928,1573440,259,0
2. Stringify,facil.io (C),citm_catalog.json,3.913000,503872,504384,127,0
2. Stringify,facil.io (C),twitter.json,1.874000,471104,471616,119,0
3. Prettify,facil.io (C),canada.json,37.947000,3821632,3822144,937,0
3. Prettify,facil.io (C),citm_catalog.json,4.791000,1040448,1040960,258,0
3. Prettify,facil.io (C),twitter.json,2.314000,786496,787008,167,0
4. Statistics,facil.io (C),canada.json,2.698000,0,256,1,0
4. Statistics,facil.io (C),citm_catalog.json,1.071000,0,256,1,0
4. Statistics,facil.io (C),twitter.json,0.316000,0,256,1,0
7. Code size,facil.io (C),jsonstat,0,0,0,0,90952
1. Parse,mikeando/FastJson (C++),canada.json,12.171000,10511104,14333216,22,0
1. Parse,mikeando/FastJson (C++),citm_catalog.json,4.337000,2744512,4473568,22,0
1. Parse,mikeando/FastJson (C++),twitter.json,2.467000,1571520,2613024,24,0
2. Stringify,mikeando/FastJson (C++),canada.json,67.379000,3821600,3821600,2,0
2. Stringify,mikeando/FastJson (C++),citm_catalog.json,5.506000,610336,610336,2,0
2. Stringify,mikeando/FastJson (C++),twitter.json,2.183000,610336,610336,2,0
4. Statistics,mikeando/FastJson (C++),canada.json,0.555000,0,0,0,0
4. Statistics,mikeando/FastJson (C++),citm_catalog.json,0.153000,0,0,0,0
4. Statistics,mikeando/FastJson (C++),twitter.json,0.074000,0,0,0,0
7. Code size,mikeando/FastJson (C++),jsonstat,0,0,0,0,62788
1. Parse,gason (C++11),canada.json,3.282000,6508576,6508576,658,0
1. Parse,gason (C++11),citm_catalog.json,1.890000,2547744,2547744,202,0
1. Parse,gason (C++11),twitter.json,1.002000,1372192,1372192,83,0
2. Stringify,gason (C++11),canada.json,35.405000,1863712,3592224,18,0
2. Stringify,gason (C++11),citm_catalog.json,9.805000,610336,1650720,17,0
2. Stringify,gason (C++11),twitter.json,4.977000,507936,1548320,17,0
3. Prettify,gason (C++11),canada.json,75.360000,7319584,19902496,222273,0
3. Prettify,gason (C++11),citm_catalog.json,15.519000,1863712,5685280,34759,0
3. Prettify,gason (C++11),twitter.json,5.909000,770080,1810464,1920,0
4. Statistics,gason (C++11),canada.json,0.530000,0,0,0,0
4. Statistics,gason (C++11),citm_catalog.json,0.248000,0,0,0,0
4. Statistics,gason (C++11),twitter.json,0.165000,0,0,0,0
7. Code size,gason (C++11),jsonstat,0,0,0,0,20984
1. Parse,Jansson (C),canada.json,84.188000,10463696,10463744,224392,0
1. Parse,Jansson (C),citm_catalog.json,25.051000,5699968,5700048,111230,0
1. Parse,Jansson (C),twitter.json,12.200000,2000288,2000848,43822,0
2. Stringify,Jansson (C),canada.json,67.597000,3821584,10510352,21,0
2. Stringify,Jansson (C),citm_catalog.json,3.837000,507920,1118224,18,0
2. Stringify,Jansson (C),twitter.json,2.158000,507920,1118224,18,0
3. Prettify,Jansson (C),canada.json,77.692000,8273936,20856848,22,0
3. Prettify,Jansson (C),citm_catalog.json,4.787000,1728528,5550096,20,0
3. Prettify,Jansson (C),twitter.json,2.444000,770064,2498576,19,0
4. Statistics,Jansson (C),canada.json,0.977000,0,0,0,0
4. Statistics,Jansson (C),citm_catalog.json,0.579000,0,0,0,0
4. Statistics,Jansson (C),twitter.json,0.256000,0,0,0,0
7. Code size,Jansson (C),jsonstat,0,0,0,0,69792
1. Parse,JeayeSON (C++14),canada.json,116.537000,5699888,20503344,386911,0
1. Parse,JeayeSON (C++14),citm_catalog.json,40.635000,2879872,10368032,187912,0
1. Parse,JeayeSON (C++14),twitter.json,21.666000,1554944,5434784,94228,0
2. Stringify,JeayeSON (C++14),canada.json,40.925000,1044512,2773024,18,0
2. Stringify,JeayeSON (C++14),citm_catalog.json,6.869000,507936,1294368,342,0
2. Stringify,JeayeSON (C++14),twitter.json,4.006000,507936,1294368,3862,0
4. Statistics,JeayeSON (C++14),canada.json,0.552000,0,0,0,0
4. Statistics,JeayeSON (C++14),citm_catalog.json,0.211000,0,0,0,0
4. Statistics,JeayeSON (C++14),twitter.json,0.095000,0,0,0,0
7. Code size,JeayeSON (C++14),jsonstat,0,0,0,0,69552
1. Parse,jsmn (C),canada.json,385.405000,6074400,6074400,3,0
1. Parse,jsmn (C),citm_catalog.json,13.665000,2773024,2773024,3,0
1. Parse,jsmn (C),twitter.json,4.125000,1277984,1277984,3,0
4. Statistics,jsmn (C),canada.json,0.343000,0,0,0,0
4. Statistics,jsmn (C),citm_catalog.json,0.143000,0,0,0,0
4. Statistics,jsmn (C),twitter.json,0.058000,0,0,0,0
7. Code size,jsmn (C),jsonstat,0,0,0,0,16468
1. Parse,JsonBox (C++),canada.json,286.790000,6610480,13030320,754123,0
1. Parse,JsonBox (C++),citm_catalog.json,68.961000,3232384,7213696,242074,0
1. Parse,JsonBox (C++),twitter.json,30.454000,1636960,3703088,75748,0
2. Stringify,JsonBox (C++),canada.json,164.134000,2252832,6074400,19,0
2. Stringify,JsonBox (C++),citm_catalog.json,32.528000,507936,1294368,673,0
2. Stringify,JsonBox (C++),twitter.json,23.410000,507936,1294368,9688,0
3. Prettify,JsonBox (C++),canada.json,150.326000,3924000,10215456,20,0
3. Prettify,JsonBox (C++),citm_catalog.json,28.979000,1044512,2773024,674,0
3. Prettify,JsonBox (C++),twitter.json,21.733000,610336,1396768,9688,0
4. Statistics,JsonBox (C++),canada.json,0.530000,0,0,0,0
4. Statistics,JsonBox (C++),citm_catalog.json,0.207000,0,0,0,0
4. Statistics,JsonBox (C++),twitter.json,0.106000,0,0,0,0
7. Code size,JsonBox (C++),jsonstat,0,0,0,0,112244
1. Parse,jsoncons (C++),canada.json,85.807000,4560272,7584432,230921,0
1. Parse,jsoncons (C++),citm_catalog.json,8.300000,1959424,3729744,34809,0
1. Parse,jsoncons (C++),twitter.json,3.436000,1053312,1865888,8741,0
2. Stringify,jsoncons (C++),canada.json,79.588000,2252832,6074400,25,0
2. Stringify,jsoncons (C++),citm_catalog.json,1.731000,610336,1396768,23,0
2. Stringify,jsoncons (C++),twitter.json,1.659000,507936,1311520,24,0
3. Prettify,jsoncons (C++),canada.json,78.670000,2252832,6074400,25,0
3. Prettify,jsoncons (C++),citm_catalog.json,1.671000,610336,1396768,23,0
3. Prettify,jsoncons (C++),twitter.json,1.658000,507936,1311520,24,0
4. Statistics,jsoncons (C++),canada.json,1.779000,0,0,0,0
4. Statistics,jsoncons (C++),citm_catalog.json,0.709000,0,64,324,0
4. Statistics,jsoncons (C++),twitter.json,0.525000,0,464,1901,0
7. Code size,jsoncons (C++),jsonstat,0,0,0,0,147712
1. Parse,JsonCpp (C++),canada.json,99.696000,17842912,17848464,223282,0
1. Parse,JsonCpp (C++),citm_catalog.json,15.448000,4767504,4773056,111998,0
1. Parse,JsonCpp (C++),twitter.json,10.137000,1949984,1955536,50991,0
2. Stringify,JsonCpp (C++),canada.json,98.378000,2252832,6075376,46,0
2. Stringify,JsonCpp (C++),citm_catalog.json,8.218000,507936,1295968,12220,0
2. Stringify,JsonCpp (C++),twitter.json,5.512000,507936,1297360,7750,0
4. Statistics,JsonCpp (C++),canada.json,3.235000,0,0,0,0
4. Statistics,JsonCpp (C++),citm_catalog.json,0.440000,0,64,324,0
4. Statistics,JsonCpp (C++),twitter.json,0.467000,0,464,1901,0
7. Code size,JsonCpp (C++),jsonstat,0,0,0,0,256192
1. Parse,json-c (C),canada.json,123.788000,33627856,33629008,390651,0
1. Parse,json-c (C),citm_catalog.json,20.726000,13055024,13056208,131793,0
1. Parse,json-c (C),twitter.json,8.664000,3088720,3090352,49446,0
2. Stringify,json-c (C),canada.json,18.557000,10113056,10113056,21,0
2. Stringify,json-c (C),citm_catalog.json,11.450000,1032224,1032224,18,0
2. Stringify,json-c (C),twitter.json,4.931000,1032224,1032224,18,0
3. Prettify,json-c (C),canada.json,34.793000,14680096,14680096,22,0
3. Prettify,json-c (C),citm_catalog.json,16.049000,5181472,5181472,20,0
3. Prettify,json-c (C),twitter.json,6.151000,2027552,2027552,19,0
4. Statistics,json-c (C),canada.json,3.011000,0,0,0,0
4. Statistics,json-c (C),citm_catalog.json,0.999000,0,0,0,0
4. Statistics,json-c (C),twitter.json,0.207000,0,0,0,0
7. Code size,json-c (C),jsonstat,0,0,0,0,57528
1. Parse,JSON Spirit (C++),canada.json,93.198000,7861680,12238704,435425,0
1. Parse,JSON Spirit (C++),citm_catalog.json,73.888000,2540208,6850992,283137,0
1. Parse,JSON Spirit (C++),twitter.json,20.397000,1193264,3192864,60284,0
2. Stringify,JSON Spirit (C++),canada.json,82.760000,2252832,6176800,19,0
2. Stringify,JSON Spirit (C++),citm_catalog.json,8.711000,507936,1294368,348,0
2. Stringify,JSON Spirit (C++),twitter.json,7.552000,770080,1556512,6927,0
3. Prettify,JSON Spirit (C++),canada.json,124.079000,8388640,20971552,21,0
3. Prettify,JSON Spirit (C++),citm_catalog.json,18.942000,2252832,6176800,350,0
3. Prettify,JSON Spirit (C++),twitter.json,9.893000,1257504,2986016,6928,0
4. Statistics,JSON Spirit (C++),canada.json,0.860000,0,0,0,0
4. Statistics,JSON Spirit (C++),citm_catalog.json,0.242000,0,0,0,0
4. Statistics,JSON Spirit (C++),twitter.json,0.108000,0,0,0,0
7. Code size,JSON Spirit (C++),jsonstat,0,0,0,0,254920
1. Parse,hjiang/JSON++ (C++),canada.json,190.658000,8733840,14910608,337434,0
1. Parse,hjiang/JSON++ (C++),citm_catalog.json,40.974000,3891024,7872336,92754,0
1. Parse,hjiang/JSON++ (C++),twitter.json,16.168000,1880592,3437072,42564,0
2. Stringify,hjiang/JSON++ (C++),canada.json,226.357000,3981344,14254112,499228,0
2. Stringify,hjiang/JSON++ (C++),citm_catalog.json,38.767000,1024032,4579360,102930,0
2. Stringify,hjiang/JSON++ (C++),twitter.json,17.788000,770080,2580896,42914,0
4. Statistics,hjiang/JSON++ (C++),canada.json,0.659000,0,0,0,0
4. Statistics,hjiang/JSON++ (C++),citm_catalog.json,0.259000,0,0,0,0
4. Statistics,hjiang/JSON++ (C++),twitter.json,0.131000,0,0,0,0
7. Code size,hjiang/JSON++ (C++),jsonstat,0,0,0,0,98772
1. Parse,juson (C),canada.json,53.023000,8506224,8506224,115044,0
1. Parse,juson (C),citm_catalog.json,4.234000,3369760,3369760,6050,0
1. Parse,juson (C),twitter.json,1.234000,1522224,1522224,1104,0
4. Statistics,juson (C),canada.json,0.679000,0,0,0,0
4. Statistics,juson (C),citm_catalog.json,0.229000,0,0,0,0
4. Statistics,juson (C),twitter.json,0.138000,0,0,0,0
7. Code size,juson (C),jsonstat,0,0,0,0,25692
1. Parse,JVar (C++),canada.json,83.535000,4484288,4484288,56050,0
1. Parse,JVar (C++),citm_catalog.json,22.416000,2600944,2600944,22037,0
1. Parse,JVar (C++),twitter.json,9.514000,477840,477904,6117,0
2. Stringify,JVar (C++),canada.json,50.338000,1044512,1044512,2,0
2. Stringify,JVar (C++),citm_catalog.json,7.718000,503840,503840,2,0
2. Stringify,JVar (C++),twitter.json,2.905000,466976,466976,2,0
4. Statistics,JVar (C++),canada.json,1.068000,0,0,0,0
4. Statistics,JVar (C++),citm_catalog.json,0.341000,0,0,0,0
4. Statistics,JVar (C++),twitter.json,0.162000,0,0,0,0
7. Code size,JVar (C++),jsonstat,0,0,0,0,86320
1. Parse,Jzon (C++),canada.json,99.243000,17910992,22449408,282601,0
1. Parse,Jzon (C++),citm_catalog.json,36.652000,3855088,8389456,69806,0
1. Parse,Jzon (C++),twitter.json,17.494000,1858544,3749648,35993,0
2. Stringify,Jzon (C++),canada.json,14.471000,2252832,5398560,19,0
2. Stringify,Jzon (C++),citm_catalog.json,6.534000,933920,1867808,665,0
2. Stringify,Jzon (C++),twitter.json,5.175000,933920,1867808,4466,0
3. Prettify,Jzon (C++),canada.json,47.936000,8273952,20856864,222273,0
3. Prettify,Jzon (C++),citm_catalog.json,12.701000,2252832,5398560,44092,0
3. Prettify,Jzon (C++),twitter.json,5.918000,933920,3186720,6536,0
4. Statistics,Jzon (C++),canada.json,1.098000,0,0,0,0
4. Statistics,Jzon (C++),citm_catalog.json,0.320000,0,64,324,0
4. Statistics,Jzon (C++),twitter.json,0.367000,0,464,1901,0
7. Code size,Jzon (C++),jsonstat,0,0,0,0,114596
1. Parse,Nlohmann (C++11),canada.json,60.344000,5293488,5293488,170254,0
1. Parse,Nlohmann (C++11),citm_catalog.json,9.613000,3045808,3045808,55293,0
1. Parse,Nlohmann (C++11),twitter.json,6.666000,1558576,1558576,28498,0
2. Stringify,Nlohmann (C++11),canada.json,75.094000,2252832,5398560,19,0
2. Stringify,Nlohmann (C++11),citm_catalog.json,5.599000,933920,1867808,342,0
2. Stringify,Nlohmann (C++11),twitter.json,3.819000,466976,1400864,3821,0
3. Prettify,Nlohmann (C++11),canada.json,106.883000,8273952,20856864,222273,0
3. Prettify,Nlohmann (C++11),citm_catalog.json,10.019000,2252832,5398592,35084,0
3. Prettify,Nlohmann (C++11),twitter.json,4.396000,933920,1867808,5724,0
4. Statistics,Nlohmann (C++11),canada.json,0.984000,0,0,0,0
4. Statistics,Nlohmann (C++11),citm_catalog.json,0.501000,0,64,325,0
4. Statistics,Nlohmann (C++11),twitter.json,0.822000,0,464,3804,0
7. Code size,Nlohmann (C++11),jsonstat,0,0,0,0,47196
1. Parse,Parson (C),canada.json,72.431000,5816816,5878880,336060,0
1. Parse,Parson (C),citm_catalog.json,19.247000,2276704,2277024,185585,0
1. Parse,Parson (C),twitter.json,9.306000,1050976,1051456,72477,0
2. Stringify,Parson (C),canada.json,91.045000,2252816,2252816,2,0
2. Stringify,Parson (C),citm_catalog.json,18.576000,933904,933904,2,0
2. Stringify,Parson (C),twitter.json,12.362000,933904,933904,2,0
3. Prettify,Parson (C),canada.json,92.302000,2252816,2252816,2,0
3. Prettify,Parson (C),citm_catalog.json,18.720000,933904,933904,2,0
3. Prettify,Parson (C),twitter.json,12.328000,933904,933904,2,0
4. Statistics,Parson (C),canada.json,1.129000,0,0,0,0
4. Statistics,Parson (C),citm_catalog.json,0.919000,0,0,0,0
4. Statistics,Parson (C),twitter.json,1.065000,0,0,0,0
7. Code size,Parson (C),jsonstat,0,0,0,0,43932
1. Parse,PicoJSON (C++),canada.json,110.972000,5151952,5404112,435407,0
1. Parse,PicoJSON (C++),citm_catalog.json,34.944000,3003056,3003088,211748,0
1. Parse,PicoJSON (C++),twitter.json,13.649000,1584624,2069600,67548,0
2. Stringify,PicoJSON (C++),canada.json,76.280000,3145760,5398560,18,0
2. Stringify,PicoJSON (C++),citm_catalog.json,6.067000,933920,1327136,16,0
2. Stringify,PicoJSON (C++),twitter.json,3.425000,933920,1327136,16,0
4. Statistics,PicoJSON (C++),canada.json,0.570000,0,0,0,0
4. Statistics,PicoJSON (C++),citm_catalog.json,0.220000,0,0,0,0
4. Statistics,PicoJSON (C++),twitter.json,0.108000,0,0,0,0
7. Code size,PicoJSON (C++),jsonstat,0,0,0,0,30896
6. SaxStatistics,pjson (C),canada.json,3.614000,0,256,1,0
6. SaxStatistics,pjson (C),citm_catalog.json,2.394000,0,256,1,0
6. SaxStatistics,pjson (C),twitter.json,1.199000,0,1536,3,0
7. Code size,pjson (C),jsonstat,0,0,0,0,15696
1. Parse,Qajson4c (C),canada.json,45.133000,3145760,3145760,7,0
1. Parse,Qajson4c (C),citm_catalog.json,5.451000,1097760,1097760,6,0
1. Parse,Qajson4c (C),twitter.json,2.948000,933920,933920,5,0
2. Stringify,Qajson4c (C),canada.json,25.983000,2252816,2252816,2,0
2. Stringify,Qajson4c (C),citm_catalog.json,2.146000,2252816,2252816,2,0
2. Stringify,Qajson4c (C),twitter.json,1.152000,933904,933904,2,0
4. Statistics,Qajson4c (C),canada.json,1.042000,0,0,0,0
4. Statistics,Qajson4c (C),citm_catalog.json,0.391000,0,0,0,0
4. Statistics,Qajson4c (C),twitter.json,0.208000,0,0,0,0
7. Code size,Qajson4c (C),jsonstat,0,0,0,0,42916
1. Parse,RapidJSON_AutoUTF (C++),canada.json,7.646000,2954432,3347920,61,0
1. Parse,RapidJSON_AutoUTF (C++),citm_catalog.json,6.069000,1123008,1131472,29,0
1. Parse,RapidJSON_AutoUTF (C++),twitter.json,4.141000,792768,798992,25,0
2. Stringify,RapidJSON_AutoUTF (C++),canada.json,17.769000,2875472,2876000,28,0
2. Stringify,RapidJSON_AutoUTF (C++),citm_catalog.json,2.315000,569424,569952,24,0
2. Stringify,RapidJSON_AutoUTF (C++),twitter.json,2.194000,569424,569952,24,0
3. Prettify,RapidJSON_AutoUTF (C++),canada.json,40.312000,9699408,9699936,31,0
3. Prettify,RapidJSON_AutoUTF (C++),citm_catalog.json,7.149000,1917008,1917536,27,0
3. Prettify,RapidJSON_AutoUTF (C++),twitter.json,3.461000,852048,852576,25,0
4. Statistics,RapidJSON_AutoUTF (C++),canada.json,0.576000,0,0,0,0
4. Statistics,RapidJSON_AutoUTF (C++),citm_catalog.json,0.181000,0,0,0,0
4. Statistics,RapidJSON_AutoUTF (C++),twitter.json,0.068000,0,0,0,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),canada.json,25.402000,64,2876272,30,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),citm_catalog.json,8.012000,64,570224,26,0
5. Sax Round-trip,RapidJSON_AutoUTF (C++),twitter.json,5.981000,64,570544,28,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),canada.json,6.552000,0,272,2,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),citm_catalog.json,5.586000,0,272,2,0
6. SaxStatistics,RapidJSON_AutoUTF (C++),twitter.json,3.840000,0,592,4,0
7. Code size,RapidJSON_AutoUTF (C++),jsonstat,0,0,0,0,38992
1. Parse,RapidJSON_FullPrec (C++),canada.json,12.636000,2958528,3257808,61,0
1. Parse,RapidJSON_FullPrec (C++),citm_catalog.json,2.403000,1123008,1131472,29,0
1. Parse,RapidJSON_FullPrec (C++),twitter.json,1.563000,792768,798992,25,0
2. Stringify,RapidJSON_FullPrec (C++),canada.json,11.564000,2875472,2876000,28,0
2. Stringify,RapidJSON_FullPrec (C++),citm_catalog.json,1.307000,569424,569952,24,0
2. Stringify,RapidJSON_FullPrec (C++),twitter.json,0.902000,688208,688736,21,0
3. Prettify,RapidJSON_FullPrec (C++),canada.json,15.770000,9699408,9699936,31,0
3. Prettify,RapidJSON_FullPrec (C++),citm_catalog.json,2.140000,1917008,1917536,27,0
3. Prettify,RapidJSON_FullPrec (C++),twitter.json,1.183000,1093712,1094240,22,0
4. Statistics,RapidJSON_FullPrec (C++),canada.json,0.576000,0,0,0,0
4. Statistics,RapidJSON_FullPrec (C++),citm_catalog.json,0.181000,0,0,0,0
4. Statistics,RapidJSON_FullPrec (C++),twitter.json,0.068000,0,0,0,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),canada.json,23.460000,2875472,2876272,30,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),citm_catalog.json,3.289000,569424,570224,26,0
5. Sax Round-trip,RapidJSON_FullPrec (C++),twitter.json,2.283000,688208,689328,25,0
6. SaxStatistics,RapidJSON_FullPrec (C++),canada.json,11.073000,0,272,2,0
6. SaxStatistics,RapidJSON_FullPrec (C++),citm_catalog.json,2.035000,0,272,2,0
6. SaxStatistics,RapidJSON_FullPrec (C++),twitter.json,1.291000,0,592,4,0
7. Code size,RapidJSON_FullPrec (C++),jsonstat,0,0,0,0,31916
1. Parse,RapidJSON_Insitu (C++),canada.json,4.989000,5285056,5584064,60,0
1. Parse,RapidJSON_Insitu (C++),citm_catalog.json,1.808000,3309760,3317952,27,0
1. Parse,RapidJSON_Insitu (C++),twitter.json,1.190000,1097408,1103040,17,0
2. Stringify,RapidJSON_Insitu (C++),canada.json,11.400000,2875472,2876000,28,0
2. Stringify,RapidJSON_Insitu (C++),citm_catalog.json,1.223000,569424,569952,24,0
2. Stringify,RapidJSON_Insitu (C++),twitter.json,1.026000,688208,688736,21,0
3. Prettify,RapidJSON_Insitu (C++),canada.json,15.672000,9699408,9699936,31,0
3. Prettify,RapidJSON_Insitu (C++),citm_catalog.json,2.215000,1917008,1917536,27,0
3. Prettify,RapidJSON_Insitu (C++),twitter.json,1.372000,1093712,1094240,22,0
4. Statistics,RapidJSON_Insitu (C++),canada.json,0.594000,0,0,0,0
4. Statistics,RapidJSON_Insitu (C++),citm_catalog.json,0.183000,0,0,0,0
4. Statistics,RapidJSON_Insitu (C++),twitter.json,0.088000,0,0,0,0
5. Sax Round-trip,RapidJSON_Insitu (C++),canada.json,15.596000,2875472,5128848,30,0
5. Sax Round-trip,RapidJSON_Insitu (C++),citm_catalog.json,2.783000,569424,2822800,26,0
5. Sax Round-trip,RapidJSON_Insitu (C++),twitter.json,2.100000,1278032,1913488,23,0
6. SaxStatistics,RapidJSON_Insitu (C++),canada.json,3.753000,0,2252848,2,0
6. SaxStatistics,RapidJSON_Insitu (C++),citm_catalog.json,1.648000,0,2252848,2,0
6. SaxStatistics,RapidJSON_Insitu (C++),twitter.json,1.111000,0,634928,2,0
7. Code size,RapidJSON_Insitu (C++),jsonstat,0,0,0,0,31916
1. Parse,RapidJSON_Iterative (C++),canada.json,5.605000,2929856,3229136,61,0
1. Parse,RapidJSON_Iterative (C++),citm_catalog.json,2.406000,1123008,1131472,29,0
1. Parse,RapidJSON_Iterative (C++),twitter.json,1.647000,792768,798992,25,0
2. Stringify,RapidJSON_Iterative (C++),canada.json,11.272000,2875472,2876000,28,0
2. Stringify,RapidJSON_Iterative (C++),citm_catalog.json,1.335000,569424,569952,24,0
2. Stringify,RapidJSON_Iterative (C++),twitter.json,0.913000,688208,688736,21,0
3. Prettify,RapidJSON_Iterative (C++),canada.json,15.681000,9699408,9699936,31,0
3. Prettify,RapidJSON_Iterative (C++),citm_catalog.json,2.090000,1917008,1917536,27,0
3. Prettify,RapidJSON_Iterative (C++),twitter.json,1.132000,1093712,1094240,22,0
4. Statistics,RapidJSON_Iterative (C++),canada.json,0.576000,0,0,0,0
4. Statistics,RapidJSON_Iterative (C++),citm_catalog.json,0.175000,0,0,0,0
4. Statistics,RapidJSON_Iterative (C++),twitter.json,0.066000,0,0,0,0
5. Sax Round-trip,RapidJSON_Iterative (C++),canada.json,16.513000,2875472,2876272,30,0
5. Sax Round-trip,RapidJSON_Iterative (C++),citm_catalog.json,3.315000,569424,570224,26,0
5. Sax Round-trip,RapidJSON_Iterative (C++),twitter.json,2.423000,688208,689328,25,0
6. SaxStatistics,RapidJSON_Iterative (C++),canada.json,4.239000,0,272,2,0
6. SaxStatistics,RapidJSON_Iterative (C++),citm_catalog.json,1.968000,0,272,2,0
6. SaxStatistics,RapidJSON_Iterative (C++),twitter.json,1.376000,0,592,4,0
7. Code size,RapidJSON_Iterative (C++),jsonstat,0,0,0,0,31916
1. Parse,RapidJSON (C++),canada.json,5.260000,2892992,3192272,61,0
1. Parse,RapidJSON (C++),citm_catalog.json,2.074000,1123008,1131472,29,0
1. Parse,RapidJSON (C++),twitter.json,1.515000,792768,798992,25,0
2. Stringify,RapidJSON (C++),canada.json,11.517000,2875472,2876000,28,0
2. Stringify,RapidJSON (C++),citm_catalog.json,1.399000,569424,569952,24,0
2. Stringify,RapidJSON (C++),twitter.json,0.884000,688208,688736,21,0
3. Prettify,RapidJSON (C++),canada.json,15.700000,9699408,9699936,31,0
3. Prettify,RapidJSON (C++),citm_catalog.json,2.183000,1917008,1917536,27,0
3. Prettify,RapidJSON (C++),twitter.json,1.205000,1093712,1094240,22,0
4. Statistics,RapidJSON (C++),canada.json,0.576000,0,0,0,0
4. Statistics,RapidJSON (C++),citm_catalog.json,0.181000,0,0,0,0
4. Statistics,RapidJSON (C++),twitter.json,0.068000,0,0,0,0
5. Sax Round-trip,RapidJSON (C++),canada.json,15.283000,2875472,2876272,30,0
5. Sax Round-trip,RapidJSON (C++),citm_catalog.json,2.923000,569424,570224,26,0
5. Sax Round-trip,RapidJSON (C++),twitter.json,2.197000,688208,689328,25,0
6. SaxStatistics,RapidJSON (C++),canada.json,3.641000,0,272,2,0
6. SaxStatistics,RapidJSON (C++),citm_catalog.json,1.715000,0,272,2,0
6. SaxStatistics,RapidJSON (C++),twitter.json,1.260000,0,592,4,0
7. Code size,RapidJSON (C++),jsonstat,0,0,0,0,31916
1. Parse,sajson (C++),canada.json,7.002000,10526848,12755072,20,0
1. Parse,sajson (C++),citm_catalog.json,1.904000,2965632,3825792,14,0
1. Parse,sajson (C++),twitter.json,0.855000,1376384,1642624,12,0
4. Statistics,sajson (C++),canada.json,0.758000,0,0,0,0
4. Statistics,sajson (C++),citm_catalog.json,0.240000,0,0,0,0
4. Statistics,sajson (C++),twitter.json,0.089000,0,0,0,0
7. Code size,sajson (C++),jsonstat,0,0,0,0,39908
1. Parse,Sheredom json.h (C),canada.json,9.888000,12840976,12840976,2,0
1. Parse,Sheredom json.h (C),citm_catalog.json,5.719000,3825680,3825680,2,0
1. Parse,Sheredom json.h (C),twitter.json,2.630000,1916944,1916944,2,0
2. Stringify,Sheredom json.h (C),canada.json,35.404000,2252816,2252816,2,0
2. Stringify,Sheredom json.h (C),citm_catalog.json,5.391000,524304,524304,2,0
2. Stringify,Sheredom json.h (C),twitter.json,2.306000,524304,524304,2,0
3. Prettify,Sheredom json.h (C),canada.json,39.118000,8273936,8273936,2,0
3. Prettify,Sheredom json.h (C),citm_catalog.json,6.200000,1916944,1916944,2,0
3. Prettify,Sheredom json.h (C),twitter.json,2.503000,851984,851984,2,0
4. Statistics,Sheredom json.h (C),canada.json,0.646000,0,0,0,0
4. Statistics,Sheredom json.h (C),citm_catalog.json,0.175000,0,0,0,0
4. Statistics,Sheredom json.h (C),twitter.json,0.076000,0,0,0,0
7. Code size,Sheredom json.h (C),jsonstat,0,0,0,0,29644
1. Parse,SimpleJSON (C++),canada.json,37.393000,5817456,15581872,393512,0
1. Parse,SimpleJSON (C++),citm_catalog.json,31.156000,4226096,12501440,213739,0
1. Parse,SimpleJSON (C++),twitter.json,20.304000,2636016,6462640,111912,0
2. Stringify,SimpleJSON (C++),canada.json,179.026000,3825680,22540544,393342,0
2. Stringify,SimpleJSON (C++),citm_catalog.json,29.086000,1048592,6447120,102242,0
2. Stringify,SimpleJSON (C++),twitter.json,14.129000,1916944,7814160,43987,0
4. Statistics,SimpleJSON (C++),canada.json,0.584000,0,0,0,0
4. Statistics,SimpleJSON (C++),citm_catalog.json,0.280000,0,0,0,0
4. Statistics,SimpleJSON (C++),twitter.json,0.142000,0,0,0,0
7. Code size,SimpleJSON (C++),jsonstat,0,0,0,0,54888
1. Parse,strdup (C),canada.json,0.264000,2252832,2252832,2,0
1. Parse,strdup (C),citm_catalog.json,0.061000,1916960,1916960,2,0
1. Parse,strdup (C),twitter.json,0.022000,852000,852000,2,0
2. Stringify,strdup (C),canada.json,0.088000,3825680,3825680,2,0
2. Stringify,strdup (C),citm_catalog.json,0.065000,2097168,2097168,2,0
2. Stringify,strdup (C),twitter.json,0.024000,1048592,1048592,2,0
7. Code size,strdup (C),jsonstat,0,0,0,0,16308
1. Parse,taocpp/json & Nlohmann (C++11),canada.json,77.372000,4556560,9529632,506550,0
1. Parse,taocpp/json & Nlohmann (C++11),citm_catalog.json,33.686000,2983152,5754192,199137,0
1. Parse,taocpp/json & Nlohmann (C++11),twitter.json,19.468000,1558560,3115152,94298,0
2. Stringify,taocpp/json & Nlohmann (C++11),canada.json,21.796000,2097184,5922848,19,0
2. Stringify,taocpp/json & Nlohmann (C++11),citm_catalog.json,4.876000,524320,1376288,18,0
2. Stringify,taocpp/json & Nlohmann (C++11),twitter.json,2.586000,524320,1376288,1920,0
3. Prettify,taocpp/json & Nlohmann (C++11),canada.json,37.538000,8273952,20856912,22,0
3. Prettify,taocpp/json & Nlohmann (C++11),citm_catalog.json,7.042000,1916960,5742672,21,0
3. Prettify,taocpp/json & Nlohmann (C++11),twitter.json,3.153000,1048608,1900624,1921,0
4. Statistics,taocpp/json & Nlohmann (C++11),canada.json,1.034000,0,0,0,0
4. Statistics,taocpp/json & Nlohmann (C++11),citm_catalog.json,0.459000,0,64,325,0
4. Statistics,taocpp/json & Nlohmann (C++11),twitter.json,0.814000,0,464,3804,0
7. Code size,taocpp/json & Nlohmann (C++11),jsonstat,0,0,0,0,110248
1. Parse,taocpp/json (C++11),canada.json,23.186000,6523920,6583664,114208,0
1. Parse,taocpp/json (C++11),citm_catalog.json,8.506000,3005952,3006304,32852,0
1. Parse,taocpp/json (C++11),twitter.json,4.933000,1602592,1603296,18080,0
2. Stringify,taocpp/json (C++11),canada.json,21.180000,2097184,5922848,19,0
2. Stringify,taocpp/json (C++11),citm_catalog.json,4.425000,524320,1376288,17,0
2. Stringify,taocpp/json (C++11),twitter.json,2.163000,524320,1376288,17,0
3. Prettify,taocpp/json (C++11),canada.json,36.941000,8273952,20856912,22,0
3. Prettify,taocpp/json (C++11),citm_catalog.json,6.833000,1916960,5742672,20,0
3. Prettify,taocpp/json (C++11),twitter.json,2.731000,1048608,1900576,18,0
4. Statistics,taocpp/json (C++11),canada.json,0.527000,0,0,0,0
4. Statistics,taocpp/json (C++11),citm_catalog.json,0.218000,0,0,0,0
4. Statistics,taocpp/json (C++11),twitter.json,0.121000,0,0,0,0
5. Sax Round-trip,taocpp/json (C++11),canada.json,30.612000,2097184,5922848,19,0
5. Sax Round-trip,taocpp/json (C++11),citm_catalog.json,8.443000,524320,1376288,342,0
5. Sax Round-trip,taocpp/json (C++11),twitter.json,5.215000,524320,1376288,4266,0
6. SaxStatistics,taocpp/json (C++11),canada.json,9.170000,0,0,0,0
6. SaxStatistics,taocpp/json (C++11),citm_catalog.json,3.829000,0,64,325,0
6. SaxStatistics,taocpp/json (C++11),twitter.json,3.162000,0,1056,4249,0
7. Code size,taocpp/json (C++11),jsonstat,0,0,0,0,99056
1. Parse,tunnuz/JSON++ (C++),canada.json,231.571000,19608544,45543120,833845,0
1. Parse,tunnuz/JSON++ (C++),citm_catalog.json,85.928000,6065024,16144192,356191,0
1. Parse,tunnuz/JSON++ (C++),twitter.json,41.115000,2674704,7188576,163534,0
2. Stringify,tunnuz/JSON++ (C++),canada.json,228.133000,2719776,104869264,391870,0
2. Stringify,tunnuz/JSON++ (C++),citm_catalog.json,49.466000,933920,14552528,165982,0
2. Stringify,tunnuz/JSON++ (C++),twitter.json,22.011000,921632,6701296,77541,0
4. Statistics,tunnuz/JSON++ (C++),canada.json,126.470000,0,101313872,391851,0
4. Statistics,tunnuz/JSON++ (C++),citm_catalog.json,33.928000,0,11749536,165964,0
4. Statistics,tunnuz/JSON++ (C++),twitter.json,17.470000,0,5440992,77524,0
7. Code size,tunnuz/JSON++ (C++),jsonstat,0,0,0,0,73412
1. Parse,udp/json-parser (C),canada.json,29.845000,12047840,12047840,223233,0
1. Parse,udp/json-parser (C),citm_catalog.json,12.343000,3420464,3420464,51205,0
1. Parse,udp/json-parser (C),twitter.json,4.881000,1726752,1726752,20237,0
2. Stringify,udp/json-parser (C),canada.json,48.668000,1916944,1916944,2,0
2. Stringify,udp/json-parser (C),citm_catalog.json,1.440000,593936,593936,2,0
2. Stringify,udp/json-parser (C),twitter.json,1.455000,593936,593936,2,0
3. Prettify,udp/json-parser (C),canada.json,49.598000,7958544,7958544,2,0
3. Prettify,udp/json-parser (C),citm_catalog.json,1.717000,2097168,2097168,2,0
3. Prettify,udp/json-parser (C),twitter.json,1.592000,917520,917520,2,0
4. Statistics,udp/json-parser (C),canada.json,0.841000,0,0,0,0
4. Statistics,udp/json-parser (C),citm_catalog.json,0.192000,0,0,0,0
4. Statistics,udp/json-parser (C),twitter.json,0.075000,0,0,0,0
7. Code size,udp/json-parser (C),jsonstat,0,0,0,0,35520
1. Parse,ujson4c (C),canada.json,5.494000,13074464,22081568,11,0
1. Parse,ujson4c (C),citm_catalog.json,2.909000,5115936,13074464,10,0
1. Parse,ujson4c (C),twitter.json,1.471000,5115936,7643168,10,0
4. Statistics,ujson4c (C),canada.json,1.316000,0,0,0,0
4. Statistics,ujson4c (C),citm_catalog.json,0.457000,0,0,0,0
4. Statistics,ujson4c (C),twitter.json,0.183000,0,0,0,0
7. Code size,ujson4c (C),jsonstat,0,0,0,0,31492
1. Parse,ujson (C++),canada.json,28.427000,9349184,9351776,170254,0
1. Parse,ujson (C++),citm_catalog.json,10.724000,3165056,3165632,63520,0
1. Parse,ujson (C++),twitter.json,4.549000,1609344,1609712,13992,0
2. Stringify,ujson (C++),canada.json,19.701000,2097184,4014112,17,0
2. Stringify,ujson (C++),citm_catalog.json,3.964000,593952,856096,15,0
2. Stringify,ujson (C++),twitter.json,1.952000,917536,1511456,15,0
3. Prettify,ujson (C++),canada.json,23.402000,9007136,16965664,19,0
3. Prettify,ujson (C++),citm_catalog.json,5.036000,2097184,4014112,17,0
3. Prettify,ujson (C++),twitter.json,2.251000,917536,1511456,15,0
4. Statistics,ujson (C++),canada.json,1.439000,0,0,0,0
4. Statistics,ujson (C++),citm_catalog.json,0.569000,0,0,0,0
4. Statistics,ujson (C++),twitter.json,0.328000,0,0,0,0
7. Code size,ujson (C++),jsonstat,0,0,0,0,127120
1. Parse,Vinenthz/libjson (C),canada.json,76.176000,4916160,4945104,334389,0
1. Parse,Vinenthz/libjson (C),citm_catalog.json,21.462000,2372400,2401344,153901,0
1. Parse,Vinenthz/libjson (C),twitter.json,9.681000,1305728,1334672,72620,0
2. Stringify,Vinenthz/libjson (C),canada.json,65.772000,4194336,4194336,13,0
2. Stringify,Vinenthz/libjson (C),citm_catalog.json,4.761000,524320,524320,10,0
2. Stringify,Vinenthz/libjson (C),twitter.json,3.749000,524320,524320,10,0
3. Prettify,Vinenthz/libjson (C),canada.json,65.203000,4194336,4194336,13,0
3. Prettify,Vinenthz/libjson (C),citm_catalog.json,4.794000,524320,524320,10,0
3. Prettify,Vinenthz/libjson (C),twitter.json,3.608000,524320,524320,10,0
4. Statistics,Vinenthz/libjson (C),canada.json,0.532000,0,0,0,0
4. Statistics,Vinenthz/libjson (C),citm_catalog.json,0.242000,0,0,0,0
4. Statistics,Vinenthz/libjson (C),twitter.json,0.103000,0,0,0,0
5. Sax Round-trip,Vinenthz/libjson (C),canada.json,13.603000,4194336,4198688,15,0
5. Sax Round-trip,Vinenthz/libjson (C),citm_catalog.json,10.629000,524320,528672,12,0
5. Sax Round-trip,Vinenthz/libjson (C),twitter.json,6.081000,524320,528672,12,0
6. SaxStatistics,Vinenthz/libjson (C),canada.json,11.321000,0,4352,2,0
6. SaxStatistics,Vinenthz/libjson (C),citm_catalog.json,7.691000,0,4352,2,0
6. SaxStatistics,Vinenthz/libjson (C),twitter.json,2.990000,0,4352,2,0
7. Code size,Vinenthz/libjson (C),jsonstat,0,0,0,0,26624
1. Parse,YAJL (C),canada.json,83.378000,12893040,12895472,501567,0
1. Parse,YAJL (C),citm_catalog.json,20.820000,3031456,3035936,189685,0
1. Parse,YAJL (C),twitter.json,9.264000,1459072,1463552,77047,0
2. Stringify,YAJL (C),canada.json,76.780000,4198976,4198976,15,0
2. Stringify,YAJL (C),citm_catalog.json,4.261000,528960,528960,12,0
2. Stringify,YAJL (C),twitter.json,1.996000,528960,528960,12,0
3. Prettify,YAJL (C),canada.json,96.738000,16781888,16781888,17,0
3. Prettify,YAJL (C),citm_catalog.json,8.794000,2101824,2101824,14,0
3. Prettify,YAJL (C),twitter.json,3.234000,1053248,1053248,13,0
4. Statistics,YAJL (C),canada.json,0.992000,0,0,0,0
4. Statistics,YAJL (C),citm_catalog.json,0.244000,0,0,0,0
4. Statistics,YAJL (C),twitter.json,0.124000,0,0,0,0
5. Sax Round-trip,YAJL (C),canada.json,121.040000,4198976,4203456,22,0
5. Sax Round-trip,YAJL (C),citm_catalog.json,9.258000,528960,533440,19,0
5. Sax Round-trip,YAJL (C),twitter.json,3.537000,528960,533440,19,0
6. SaxStatistics,YAJL (C),canada.json,42.618000,0,4480,7,0
6. SaxStatistics,YAJL (C),citm_catalog.json,5.003000,0,4480,7,0
6. SaxStatistics,YAJL (C),twitter.json,1.706000,0,4480,7,0
7. Code size,YAJL (C),jsonstat,0,0,0,0,45352
</textarea>
</div>
<div class="row" id="downloadDD" style="display: none">
<div class="btn-group pull-right" >
    <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-picture"></span></button>
    <ul class="dropdown-menu">
        <li><a tabindex="-1" href="#" dltype="image/jpeg">JPEG</a></li>
        <li><a tabindex="-1" href="#" dltype="image/png">PNG</a></li>
        <li><a tabindex="-1" href="#" dltype="application/pdf">PDF</a></li>
        <li><a tabindex="-1" href="#" dltype="image/svg+xml">SVG</a></li>
    </ul>
</div>
</div>
<form method="post" action="http://export.highcharts.com/" id="imageGetForm">
    <input type="hidden" name="filename" id="imageFilename" value="" />
    <input type="hidden" name="type" id="imageGetFormTYPE" value="" />
    <input type="hidden" name="width" value="1600" />
    <input type="hidden" name="svg" value="" id="imageGetFormSVG" />
</form>
</div>
</body>
</html>